In many computing environments, including, for example, network-based computing systems that may include multiple computing or processing units, storage units, storage networks, and other system resources, it is desirable to monitor the performance of the computing system or the performance of individual elements or groups of elements within the system. (The terms “computer system” and “computing system” are utilized substantially interchangeably herein unless otherwise indicated in particular circumstances.)
Computer system performance monitoring, evaluation and even prediction can be useful for a variety of reasons and purposes, such as determining whether additional storage, processing or other system resources may need to be added or brought online to meet quality of service or reliability requirements, to enable system balancing, and to provide application tuning, among other possible applications.
By way of example, FIG. 1 is a schematic diagram depicting general aspects of a conventional computing system 100 that might be found in the prior art. A computing system such as that shown in FIG. 1 can include a Storage Array Network (SAN) 120, a Network (such as a Local Area Network (LAN), Wide Area Network (WAN) or other form of network(s)), and a number of Central Processing Units (CPUs) 102, 104, . . . 106, etc.
Referring now to FIG. 2, it would be desirable to be able to monitor, or even predict, aspects of the performance of the computing system such as that shown in FIGS. 1 and 2, or the performance of individual elements or groups of elements in the computing system, such as SAN 120, network 110, or CPUs 102, 104, . . . 106, etc.
In FIG. 2, the functions of monitoring or predicting the performance of the computing system, or elements of the computing system (and corresponding devices, systems or computer software/program code products adapted for providing such functions), are represented schematically by performance monitoring meter, element, module or function 130. Referring again to FIG. 2, element 130 is shown in communication with the various elements of the computing system of FIG. 2, including SAN 120, network 110, or CPUs 102, 104, . . . 106, etc.
While various forms of elements, structures and computer software/program code products adapted to monitor the performance of computing systems are known in the prior art, it is the novel aspects of the structure, function and operation of element, module or function 130, utilizing kneepoint analysis (KPA) that form the subject of the present invention.